import matplotlib.pyplot as plt
import numpy as np

'''
https://www.cnblogs.com/xuaijun/p/7985831.html
http://python.jobbole.com/85601/
'''

#直方图
mu=100 
sigma=20 
x=mu+sigma*np.random.randn(20000) 
plt.hist(x,bins=100,color='green',normed=True) 
plt.show()

#条形图
y=[20,10,30,25,15] 
index=np.arange(5) 
plt.bar(left=[2,8,6,7,9],height=y,color='green',width=0.5) 
plt.show()

#折线图
x=np.linspace(-10,10,100) 
y=x**4 
plt.plot(x,y,linestyle='--',color='green',marker='<') 
plt.show()

#散点图
x=np.random.randn(1000) 
y=x+np.random.randn(1000)*0.5 
plt.scatter(x,y,s=5,marker='<')# s表示面积，marker表示图形
plt.show()

#饼状图
labels='A','B','C','D'
fracs=[15,30,45,10] 
plt.axes(aspect=1)#使x y轴比例相同 
explode=[0,0.05,0,0]# 突出某一部分区域 
plt.pie(x=fracs,labels=labels,autopct='%.0f%%',explode=explode)#autopct显示百分比
plt.show()

#箱形图
np.random.seed(100) 
data=np.random.normal(size=(1000,4),loc=0,scale=1) 
labels=['A','B','C','D'] 
plt.boxplot(data,labels=labels) 
plt.show()

#生成图例
x=np.arange(1,11,1) 
plt.plot(x,x*2) 
plt.plot(x,x*3) 
plt.plot(x,x*4) 
plt.legend(['Normal','Fast','Faster']) 
plt.show()

# 生成网格
y=np.arange(1,5) 
plt.plot(y,y*2) 
plt.grid(True,color='g',linestyle='--',linewidth='1') 
plt.show()

'''
http://www.jb51.net/article/105287.htm
1、23种点形状
"."point","pixel"o"circle"v"triangle_down
"^"triangle_up"<"triangle_left">"triangle_right"1"tri_down
"2"tri_up"3"tri_left"4"tri_right"8"octagon
"s"square"p"pentagon"*"star"h"hexagon1"H"hexagon2
"+"plus"x"x"D"diamond"d"thin_diamond


2、8种內建默认颜色的缩写
b:blue g:green r:red c:cyan
m:magenta y:yellow k:black w:white
'''
x=np.arange(1,100) 
plt.subplot(221)#2行2列第1个图 
plt.plot(x,x) 
plt.subplot(222) 
plt.plot(x,-x) 
plt.subplot(223) 
plt.plot(x,x*x) 
plt.subplot(224) 
plt.plot(x,np.log(x)) 
plt.show()
